\chapter{Как вставить изображение или рисунок в LaTeX}
Здесь приводятся базовые идеи и примеры, которые вам нужно освоить для вставки изображений и рисунков в LaTeX. Мы рассмотрим вставку нескольких рисунков в ряд и оформление групп рисунков, для чего будем пользоваться окружением minipage. Для набора дипломов по физическим специальностям приведённых сведений должно хватить в подавляющем большинстве случаев. О том, как просто это сделать, читайте дальше.

\section{Подтоговка}
Для начала работы с изображениями нужно подключить пакет graphicx, который обеспечивает их вставку в текст документа. Есть много драйверов для работы с изображениями, но мы будем использовать dvips - это позволит нам потом сравнительно легко и довольно просто конвертировать диплом из LaTeX в Word или OpenOffice через формат RTF, используя открытую программу latex2rtf. Для этого ваши рисунки нужно конвертировать в EPS, что делается программой convert из пакета imagemagick или утилитой sam2p. И imagemagick, и sam2p есть в стандартных репозиториях Debian и ставятся на раз. 

\section{Как вставить в LaTeX-документ изображение?}
Рисунок в технической статье или отчёте - это не просто картинка, а ещё и подпись к нему, и возможность поставить на рисунок ссылку. Для этого сначала в преамбуле документа (это те самые магические заклинания, которые до \verb*|\begin{document}|) нужно вставить следующее:

\begin{verbatim}
    \usepackage[dvips]{graphicx}
    \graphicspath{{noiseimages/}}
\end{verbatim}

Рисунки лучше хранить в отдельных каталогах, идеально - для каждой главы диплома свой каталог. Следует перечислить все каталоги с рисунками, чтобы ЛаТеХ смог их найти. Делается это так: \\ \verb*|\graphicspath{{images-overview/}{images-deconv/}{images-linearization/}{images-noiseincoding/}{images-linearization/imagemotion/}{images-opticalcoding/}}|

В ЛаТеХе вы только \textit{упоминаете }рисунок - ставите на него относительную ссылку при помощи команды \verb*|\includegraphics[width=1\linewidth]{image}|. Как уже говорилось, если ваш рисунок в формате PNG/TIF/JPG или ещё каком-нибудь, нужно сначала перевести его в EPS при помощи программы convert из пакета imagemagick или утилитой sam2p. Например, чтобы конвертировать файл в EPS программой convert, нужно дать команду:

\begin{verbatim}
 convert image.jpg image.eps
\end{verbatim}

После этого копируем полученный eps-файл в каталог, указанный в \verb*|\graphicspath{{noiseimages/}}|, в данном случае подкаталог noiseimages, который находится в каталоге с нашим tex-файлом.

Помимо вставки картинки, нам нужна к нему подпись и возможность сослаться. В общем, мы можем:
\begin{enumerate}
 \item определить место рисунка в тексте - разрешить алгоритмам ТеХа принять решение исходя из заполненности страницы \verb*|\begin{figure}[h]|  "хотелось бы картинку здесь", настойчиво просить разместить после текста \verb*|\begin{figure}[h!]|  "очень хочу картинку здесь", и ударить кулаком по столу - картинку тут и точка \verb*|\begin{figure}[H]|  "ХОЧУ  картинку здесь и баста", а с прибавлением буквы p мы заставляем поместить ЛаТеХ картинку отдельно на страницу так: \verb*|\begin{figure}[pH]|.
\item задать размер изображения в относительных единицах - долях от ширины строки или текста
\item вставить подпись под рисунком \verb*|\caption{Зависимость сигнала от шума для данных.}|
\item вставить ссылку на рисунок \verb*|\label{ris:image}|
\end{enumerate}

А теперь всё сразу:
\begin{verbatim}
\begin{figure}[h]
    \center{\includegraphics[width=1\linewidth]{image}}
  \caption{Зависимость сигнала от шума для данных.}
\label{ris:image}
\end{figure}
\end{verbatim}

Результат в документе: 
\begin{figure}[h]
    \center{\includegraphics[width=1\linewidth]{image}}
  \caption{Зависимость сигнала от шума для данных.}
\label{ris:image}
\end{figure}

Всё просто и понятно в этом примере: мы размещаем рисунок, который находится в файле image, в тексте - оставляем выбор размещения за ТеХом. Размер его будет во всю строку, подпись - "Рис.N:Зависимость сигнала от шума для данных.", где N - номер рисунка, который будет вставлен позже, во время сборки документа. Расширение у документа не указывается: если вы используете драйвер dvips, то это обязательно postscipt. Теперь не надо ссылаться на рисунок в дурном стиле визуальщины: как показано на Рис.1... А надо так: как показано на Рис.\verb*|~\ref{ris:image}| - так вы всегда сошлётесь на правильный рисунок. Только нужно следить, чтобы имена рисунков не повторялись.

Полезно запомнить, что ЛаТеХ рассматривает рисунок как одну большую букву. Поэтому в некоторых сложных случаях полезно применять грубую силу, т.е. например можно сделать интервал от подписи командой \verb*|\vspace{1cm}| - не очень изящно, зато действенно.

Главное - делать название рисунков осмысленными и понятными вам, а не просто ris1, ris2... Естественно, что LaTeX - это язык программирования, так что все советы по грамотному написанию программ уместны и здесь.


\subsection{Два рисунка в строчку}
Немного усложним пример - вставим два рисунка в строку, с единой подписью под каждым. Можно вставить ещё один \verb*|\includegraphics|, но под рисунками должны быть подписи а)  и б) и нужно, чтобы они были по центру. Для этого есть замечательное окружение \verb*|\begin{minipage} .. \end{minipage}|. То есть резервируем место под рисунок, и вставляем его во фрейм. Вот так:
\begin{verbatim}
\begin{figure}[h]
  \begin{minipage}[h]{0.49\linewidth}
  \center{\includegraphics[width=0.5\linewidth]{image} \\ а)}
  \end{minipage}
\hfill
  \begin{minipage}[h]{0.49\linewidth}
  \center{\includegraphics[width=0.5\linewidth]{image} \\ б)}
  \end{minipage}
\caption{Зависимость сигнала от шума для данных.}
\label{ris:image1}
\end{figure}
 \end{verbatim}

Здесь ширина рисунка указана \verb*|1\linewidth| то есть во всю строку, но строка теперь ширины \verb*|0.49\linewidth| так что рисунок будет во весь фрейм размера в половину строки. Кроме того, после каждого рисунка идёт разрыв строки и буква, обозначающая рисунок. Нужно помнить, что ссылка и подпись под рисунками одна.

Результат, как всегда, логичен и приятен:
\begin{figure}[h]
  \begin{minipage}[h]{0.49\linewidth}
  \center{\includegraphics[width=0.5\linewidth]{image} \\ а)}
  \end{minipage}
\hfill
  \begin{minipage}[h]{0.49\linewidth}
  \center{\includegraphics[width=0.5\linewidth]{image} \\ б)}
  \end{minipage}
\caption{Зависимость сигнала от шума для данных.}
\label{ris:image1}
\end{figure}

Команда \verb*|\hfill |позволяет раздвинуть рисунки к краям страницы, как бы заполняя между ними пространство пустотой. Из приведённых примеров должно быть понятно, как вставлять несколько рисунков в строку, теперь немного усложним задачу и попробуем вставить два рисунка в строчку и два в столбец.


\subsection{Два рисунка в строчку и два в столбец}
Следующий уровень нирваны - вставляем рисунки не только в строчку, но и по столбцам. Идея та же, только после заполнения строчек вставляем команду \verb*|\vfill |которая растолкнёт рисунки по строкам. Всё остальное остаётся в силе: используем окружение minipage и грамотно выставляем ширину этих самых minipage так, чтобы оставался небольшой зазор: для двух картинок 0.48, для трёх 0.31 и так далее.

Так, давайте наконец вставим два рисунка в строчку и два в столбец. И это действительно легко!
\begin{verbatim}
\begin{figure}[H]
    \begin{minipage}[h]{0.47\linewidth}
    \center{\includegraphics[width=1\linewidth]{image}} a) \\
    \end{minipage}
\hfill
    \begin{minipage}[h]{0.47\linewidth}
    \center{\includegraphics[width=1\linewidth]{image}} \\b)
    \end{minipage}
\vfill
    \begin{minipage}[h]{0.47\linewidth}
    \center{\includegraphics[width=1\linewidth]{image}} c) \\
    \end{minipage}
\hfill
    \begin{minipage}[h]{0.47\linewidth}
    \center{\includegraphics[width=1\linewidth]{image}} d) \\
    \end{minipage}
\caption{Correlation signal peaks: a) numerical experiment, b)
registered correlation signals, c) intensity distribution of correlation
 signals in numerical experiment, d) correlation signals intensity
 distribution for DCRAW processed data.}
\label{ris:experimentalcorrelationsignals}
\end{figure}
 \end{verbatim}

\begin{figure}[H]
    \begin{minipage}[h]{0.47\linewidth}
    \center{\includegraphics[width=1\linewidth]{image}} a) \\
    \end{minipage}
\hfill
    \begin{minipage}[h]{0.47\linewidth}
    \center{\includegraphics[width=1\linewidth]{image}} \\b)
    \end{minipage}
\vfill
    \begin{minipage}[h]{0.47\linewidth}
    \center{\includegraphics[width=1\linewidth]{image}} c) \\
    \end{minipage}
\hfill
    \begin{minipage}[h]{0.47\linewidth}
    \center{\includegraphics[width=1\linewidth]{image}} d) \\
    \end{minipage}
\caption{Correlation signal peaks: a) numerical experiment, b)
registered correlation signals, c) intensity distribution of correlation
 signals in numerical experiment, d) correlation signals intensity
 distribution for DCRAW processed data.}
\label{ris:experimentalcorrelationsignals}
\end{figure}

То есть теперь мы не падаем в обморок от просьбы вставить 12 рисунков по 3 в ряд. Все идеи те же самые, хотя едва ли в дипломе вам придётся столкнуться с большим количеством хитро расположенных рисунков. 


\subsection{Два рисунка с разными подписями}
Это важный частный случай, так как довольно часто сделать одну подпись для двух рисунков или длинно, или сложно, и поэтому лучше выделить их в два отдельных рисунка, но в ряд. Мы не будем привлекать для этого отдельные сущности, а воспользуемся старым-добрым minipage. Надеюсь, благодарный читатель ещё помнит, что ЛаТеХ - он как рельса, прост и бесхитростен, и делает то, что вы ему прикажете, как бы костыляво это не выглядело. 

Итак, два рисунка в ряд с разными подписями заказывали? Получаем:
\begin{figure}[h]
\begin{center}
        \begin{minipage}[h]{0.4\linewidth}
                \includegraphics[width=1\linewidth]{image}
                \caption{Исходное изображение.} %% подпись к рисунку
                \label{ris:experimoriginal} %% метка рисунка для ссылки на него
        \end{minipage}
        \hfill  
        \begin{minipage}[h]{0.4\linewidth}
                \includegraphics[width=1\linewidth]{image}
                \caption{Закодированное изображение.}
                \label{ris:experimcoded}
        \end{minipage}
\end{center}
\end{figure}

Для этого случая код следующий: 

\begin{verbatim}
\begin{figure}[h]
\begin{center}
        \begin{minipage}[h]{0.4\linewidth}
                \includegraphics[width=1\linewidth]{image}
                \caption{Исходное изображение.} %% подпись к рисунку
                \label{ris:experimoriginal} %% метка рисунка для ссылки на него
        \end{minipage}
        \hfill  
        \begin{minipage}[h]{0.4\linewidth}
                \includegraphics[width=1\linewidth]{image}
                \caption{Закодированное изображение.}
                \label{ris:experimcoded}
        \end{minipage}
\end{center}
\end{figure}
\end{verbatim}

Как видно, всё достаточно легко и просто. Не забываем проставлять нужные размеры minipage-ей и рисунков, периодически посматривая на результат в kdvi и корректируя код по ходу дела. 


\subsection{Три рисунка разной высоты}
Иногда случается такая партизанская засада, как разномасштабные рисунки, которые под один размер подгонять нехорошо по смыслу, и нужно сделать так, чтобы подписи к ним были в одну строчку. Иначе получается некрасиво: буквы под рисунками в разных положениях. Я не претендую на истину в последней инстанции, но вот выход, который я нашёл для себя:

\begin{verbatim}
 \begin{figure}[H]
        \begin{minipage}[h]{0.32\linewidth}
\center{\includegraphics[width=0.8\linewidth]{image}}
        \end{minipage}
\hfill
        \begin{minipage}[h]{0.32\linewidth}
\center{\includegraphics[width=0.4\linewidth]{image}}
        \end{minipage}
\hfill
        \begin{minipage}[h]{0.32\linewidth}
\center{\includegraphics[width=0.9\linewidth]{image}}
        \end{minipage}
\begin{minipage}[h]{1\linewidth}
                \begin{tabular}{p{0.32\linewidth}p{0.32\linewidth}p{0.32\linewidth}}
                \centering а) & \centering б) & \centering в) \\
                \end{tabular}
\end{minipage}
\vspace*{-1cm}
        \caption{Процесс кодирования: а) оригинальное изображение, б) ФРТ киноформа, в) закодированное изображение.}
        \label{ris:correlationsignals}
\end{figure}
\end{verbatim}

Как это выглядит в документе:
\begin{figure}[H]
        \begin{minipage}[h]{0.32\linewidth}
\center{\includegraphics[width=0.8\linewidth]{image}}
        \end{minipage}
\hfill
        \begin{minipage}[h]{0.32\linewidth}
\center{\includegraphics[width=0.4\linewidth]{image}}
        \end{minipage}
\hfill
        \begin{minipage}[h]{0.32\linewidth}
\center{\includegraphics[width=0.9\linewidth]{image}}
        \end{minipage}
\begin{minipage}[h]{1\linewidth}
                \begin{tabular}{p{0.32\linewidth}p{0.32\linewidth}p{0.32\linewidth}}
                \centering а) & \centering б) & \centering в) \\
                \end{tabular}
\end{minipage}
\vspace*{-1cm}
        \caption{Процесс кодирования: а) оригинальное изображение, б) ФРТ киноформа, в) закодированное изображение.}
        \label{ris:correlationsignals}
\end{figure}

Здесь игра в том, что после всех окружений minipage, в которых вставлены картинки, идёт отдельная minipage. В ней - таблица, ширина колонок которой точно такая же, как и ширина minipage для картинок. Вот, собственно, код:
\begin{verbatim}
\begin{minipage}[h]{1\linewidth}
                \begin{tabular}{p{0.32\linewidth}p{0.32\linewidth}p{0.32\linewidth}}
                \centering а) & \centering б) & \centering в) \\
                \end{tabular}
\end{minipage}
\end{verbatim}

Я немного забегаю вперёд и использую таблицы, которые будут описываться в другом разделе, но думаю, что человек с высшим образованием без труда переведёт слово tabular.

Опять-таки, это не единственный выход из подобной ситуации, но это пример того, как можно выкрутиться из сложной ситуации с помощью простых средств. 

\subsection{Обтекание текстом рисунка}
Это вообще-то уже криминал и за такие оформительские проделки можно получить по шапке, но если очень нужно или хочется, можно сделать и так. Хотя ещё раз предупреждаю: в дипломах такие выкрутасы крайне не приветствуются. Аксакалы старой школы вообще рекомендуют выносить каждый рисунок на отдельную страницу.

Для того, чтобы текст обтекал рисунок, можно использовать различные пакеты расширений, например wrapfig. Для это подключаем этот пакет в преамбуле \verb*|\usepackage{wrapfig}|.

После этого у нас появляется замечательная возможность продемонстрировать свою невероятную оформительскую крутизну, используя окружение \verb*|\begin{wrapfigure}...\end{wrapfigure}|, когда нужно сделать обтекание рисунка:
\begin{wrapfigure}{l}{0.2\linewidth}
 \begin{center}
\includegraphics[width=\linewidth]{image}
  \caption{Some caption}
\label{fig:somelabel}
\end{center}
\end{wrapfigure}

Буква в фигурных скобках обозначает соответственно обтекание справа \verb*|{r}|, слева \verb*|{l}| или по центру \verb*|{c}|. Как я и говорил, если вам за такое надают по ушам при предъявлении диплома, меня в последствиях не винить.


\section{Выводы}
Вставка изображений в ЛаТеХ - дело очень простое, и оно сэкономит вам много нервных клеток и седых волос для более важных дел и приключений. Используя простые команды, здравый смысл и немного фантазии, можно с минимальными мозговыми усилиями набирать сложные конструкции из изображений. Гораздо более важно то, что со временем эти конструкции у вас войдут в привычку, и однажды написанный код начнёт кочевать из работы в работу. 
